import type { Message } from "./chat-message";

// SSE消息返回类型
export interface FetchEventSourceReturn {
  // 消息id
  id: string;
  // 事件类型
  event: string;
  // 重试次数
  retry?: number;
  // 消息数据
  data: Message;
}

// SSE请求配置
export interface FetchEventSourceOptions {
  // url 接口地址
  url: string;
  // 请求头
  headers?: Record<string, string>;
  // 请求方法 默认使用post
  method?: 'GET' | 'POST';
  // 请求参数
  data?: Record<string, any>;
  // 关闭回调
  onclose?: () => void;
  // 错误回调
  onerror?: (err: any) => void;
  // 消息回调
  onmessage?: (ev: FetchEventSourceReturn) => void;
  // 打开回调
  onopen?: (response: Response) => void;
}